import Vue from 'vue'
import Vuex from 'vuex'
import cloneDeep from 'lodash/cloneDeep'
import common from './modules/common'
import user from './modules/user'

Vue.use(Vuex)

export default new Vuex.Store({
  // state: 读取 store.state.
  modules: {  // 模块
    common,
    user
  },
  mutations: {  // 变化 更改 Vuex 的 store 中的状态的唯一方法是提交 mutation
    // 重置vuex本地储存状态
    resetStore (state) {
      Object.keys(state).forEach((key) => {
        state[key] = cloneDeep(window.SITE_CONFIG['storeState'][key])
      })
    }
  },
  // 开启严格模式
  strict: process.env.NODE_ENV !== 'production'
})
